Create RSS Feed for iTunes | Part 1
Posted By : Archna Dhingra | 11-Jul-2014
In this blog, I’ll share my knowledge on how to create your own RSS feed for iTunes and what each tag indicates in the feed.
What is RSS..??
RSS, acronym for ‘Really Simple Syndication’, is a way to deliver relevant and up to date information to a wide number of people. It saves your time from not manually returning to multiple sites you like and check what has been added, instead helps you retrieve relevant information as soon as it is published.
An RSS feed is an xml file which must conform to the XML 1.0 specification. The iTunes RSS feed should conform to the RSS 2.0 specification and include the recommended iTunes RSS tags. One also needs to be careful with the compatibility of the feed with different operating systems.
Following is an RSS feed containing all the tags along with the ones necessary for iTunes. You may create one of yours too by editing the podcast related information in the example below.
<?xml version="1.0" encoding="UTF-8"?> <rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"> <channel> <title>Ice Canyon, Greenland</title> <link>http://www.nasa.gov/content/goddard/nasa-data-reveals-mega-canyon-under-greenland-ice/#.U7qLMeFDt0w</link> <description>The mega-canyon has its relevance because it extends from almost the center of the island and ends beneath the Peterman Glacier found in northern Greenland.</description> <language>en-us</language> <copyright>Copyright 2013</copyright> <lastBuildDate>Thu, 29 Aug 2013 11:30:00 -0530</lastBuildDate> <pubDate>Thu, 29 Aug 2013 11:30:00 -0530</pubDate> <docs>http://blogs.law.harvard.edu/tech/rss</docs> <webMaster>[email protected]</webMaster> <itunes:author>Archna Dhingra</itunes:author> <itunes:subtitle>The mega-canyon has its relevance because it extends from almost the center of the island and ends beneath the Peterman Glacier found in northern Greenland.</itunes:subtitle> <itunes:summary>The mega-canyon has its relevance because it extends from almost the center of the island and ends beneath the Peterman Glacier found in northern Greenland.</itunes:summary> <itunes:owner> <itunes:name>Archna Dhingra</itunes:name> <itunes:email>[email protected]</itunes:email> </itunes:owner> <itunes:explicit>No</itunes:explicit> <itunes:image href="http://4.bp.blogspot.com/-nuoj7ZKdHSM/UEHlGuPeOYI/AAAAAAAAG2A/_uA15S-KsuY/s1600/Ice+Canyon+Greenland+03.jpg”/> <itunes:category text="Travel"></itunes:category> <item> <title>Ice Canyon, Greenland</title> <link>http://www.podcast-example.com</link> <guid>http://media.libsyn.com/media/podcast411/411_060325.mp3</guid> <description>The mega-canyon has its relevance because it extends from almost the center of the island and ends beneath the Peterman Glacier found in northern Greenland.</description> <enclosure url="http://media.libsyn.com/media/podcast411/411_060325.mp3" length="11779397" type="audio/mpeg"/> <pubDate>Mon, 30 June 2013 11:30:00 -0530</pubDate> <itunes:author>Archna Dhingra</itunes:author> <itunes:explicit>No</itunes:explicit> <itunes:subtitle>The mega-canyon has its relevance because it extends from almost the center of the island and ends beneath the Peterman Glacier found in northern Greenland.</itunes:subtitle> <itunes:summary>The mega-canyon has its relevance because it extends from almost the center of the island and ends beneath the Peterman Glacier found in northern Greenland.</itunes:summary> <itunes:duration>24:30</itunes:duration> <itunes:keywords>Ice Canyon, Greenland, glacier</itunes:keywords> <itunes:image href="http://4.bp.blogspot.com/-nuoj7ZKdHSM/UEHlGuPeOYI/AAAAAAAAG2A/_uA15S-KsuY/s1600/Ice+Canyon+Greenland+03.jpg"/> </item> </channel> </rss>
RSS Tag - <rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
Here version specifies the RSS version you are using. To podcast an RSS feed to the iTunes Store one must add the above namespace declaration to the feed xml. Namespaces allow you to include all kinds of optional data specific to them in your RSS feed.
Channel Tag - <channel>
The channel tag has both mandatory and optional sub-elements.
Required channel elements
<title> - The title of your channel is the same as the title of your website. It becomes easier for people to find you.
<link> - This is the url of the website corresponding to your channel.
<description> - A brief description about your channel.
Optional channel elements
<language> - This is the language your channel is written in. Values only from the ISO 639 - 1 Alpha-2 list (two-letter language codes) are supported.
<copyright> - This should be the copyright notice for content in channel.
<lastBuildDate> - This is the date when the content of the channel was changed last.
<pubDate> - This tag specifies the publication date and time for the content in the channel. The format for date should be as per RFC 822.
Example - Mon, 11 Nov 2013 15:00:00 GMT
<docs> - The docs tag contains the url to the documentation on the format used in the RSS file.
<webMaster> - This is the email address of the person responsible for technical issues related to channel.
Item Tag - <item>
A channel must have one or more number of items. An item contains the information for each podcast episode, much alike a story in a magazine. All elements of an item are optional, however at least one of the title or description must be present.
<title> - This is the title of the podcast.
<link> - This is the url of the episode on your website.
<guid> - guid stands for globally unique identifier. This is the direct link to the item. It should be assigned to an episode only once and should never change.
<description> - Description here is a synopsis of the item.
<enclosure> - This tag describes a media object attached to the item.
Sub-elements of enclosure
The enclosure tag has three required attributes - url, length and type.
1. url - The url attribute points to the content of the podcast. Supported file formats are M4A, MP3, MOV, MP4, M4V, PDF and EPUB.
2. length - Length is the size of the item in bytes.
3. type - The type attribute is the type of file you are using. The value of this attribute varies on the basis of supported file formats.
File Format | Type |
MP3 | audio/mpeg |
M4A | audio/x-m4a |
MP4 | video/mp4 |
M4V | video/x-m4v |
MOV | video/quicktime |
application/pdf | |
EPUB | document/x-epub |
<pubDate> - This tag specifies the date and time when an episode was published. The format for the content should be per RFC 822.
Example - Mon, 11 Nov 2013 15:00:00 GMT
iTunes Tags
The additional tags specific to iTunes are listed below. Most of the these are applicable at both the Channel and the Item level. Using these tags gives one an opportunity to amplify the meta data subscribers will see about your podcast on iTunes.
<itunes:category>
The itunes category tag must be populated using the iTunes specific categories only. It is applicable to both the Channel & Item elements. Multiple Top-Level Categories can be added for Channels & Items both, but iTunes considers only the Top Level Category as the Primary Category for your Channel or Items. You can also add multiple Sub-Categories to each Top Level Category.
<itunes:explicit>
The itunes explicit tag is used to represent whether your Podcast contains explicit material or not.
The 2 applicable values for this tag are - ‘yes’ and ‘clean’. Populating this tag with a ‘yes’ adds an ‘explicit’ parental advisory tag next to the Podcast cover art, whereas a ‘clean’ adds a ‘clean’ parental advisory tag. If you add any other value to the tag, other than these two, then no parental advisory tags would appear. This tag is applicable to both Channel & Item elements and is a mandatory field.
<itunes:subtitle>
This tag includes a brief description providing general information about the podcast at the Channel level. The subtitle appears next to the podcast as users scan through listings of Podcasts.
At the Item level, it is a brief description providing specific information for each episode. The content of this tag should be limited to 255 characters or less, plain text and no HTML.
<itunes:summary>
At the Channel level, this tag includes a long description that appears next to the podcast cover art when your podcast is selected.
At the Item level, it is a long description displayed in an expanded window when users click on an episode. The content of this tag should be limited to 4000 characters or less, plain text and no HTML.
If in case this tag is not included in the RSS, then the contents of the description tag are used.
<itunes:author>
The author tag, at the Channel level, contains the person or the company’s name that is most widely associated with the publishing of the Podcast. The author’s name is displayed immediately below the title of your Podcast. At the Item level, if applicable, this tag consists of information about the person(s) featured on each episode.
<itunes:duration>
The duration tag is applicable at the Item level only. It is mainly for informational purpose which allows users to know the duration of the episode prior to download. Duration of the episode can be written in following formats - HH:MM:SS, H:MM:SS, MM:SS, M:SS, or SS, where H is hours, M is minutes and S is seconds.
<itunes:keywords>
The itunes keywords tag is applicable at the Item level only. This tag allows users to search on the text keywords. These keywords must be limited to 255 characters or less, should be plain text and no HTML, with words separated by spaces.
<itunes:owner>
The itunes owner tag includes the contact information of the owner of the podcast for administrative communication about their podcast. This is not visible on the iTunes Store and is applicable at the Channel level only. The contact information here is included in two nested tags.
# <itunes:email> - This is a mandatory element including the email address of the owner.
# <itunes:name> - This is an optional element. It contains the name of the owner.
<itunes:image>
The artwork for a podcast is displayed using the itunes image tag, and is applicable to both the Channel and Item elements. The cover art should be an uncompressed image in JPEG or PNG format, having minimum size of 600x600 pixels. A cover art of size 1400x1400 pixels is preferred for best results.
<itunes:block>
The itunes block tag at the Channel level, with value ‘yes’ is used to prevent the entire podcast from showing up in the iTunes Store podcast directory. However, the same tag with value ‘yes’ at the Item level, is used to prevent a particular episode from appearing in the iTunes Store podcast directory. Adding any other value to this tag will have no effect.
<itunes:isClosedCaptioned>
This tag is used if your podcast includes a video episode with embedded closed captioning support. The two values for this tag are - ‘yes’ & ‘no’. Populating this tag with ‘yes’ adds a closed caption icon next to the corresponding episode, whereas populating it with any other value will not show any indicator. This tag is only applicable for Item elements.
<itunes:order>
This tag is used to override the default sequence of episodes on the iTunes store. It is used at an Item level. Populate this tag with the position number at which you would like the episode to appear on the store.
<itunes:complete>
This tag is used to indicate the completion of a podcast. It is only supported at the Channel level. Populating this tag with ‘yes’ indicates that no more episodes will be added to this podcast, whereas any other value will have no effect on the podcast.
<itunes:new-feed-url>
If you wish to change the url for your podcast feed, then you can use this tag. This tag can be included at the Channel level only.
Example - <itunes:new-feed-url>http://newlocation.com/example.rss</itunes:new-feed-url>
An important note, after adding this tag to the old feed, maintain your old feed for 48 hours before retiring it, because by that time iTunes would have updated the directory with the new feed url.
Thanks,
Archna Dhingra.
Cookies are important to the proper functioning of a site. To improve your experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click Agree and Proceed to accept cookies and go directly to the site or click on View Cookie Settings to see detailed descriptions of the types of cookies and choose whether to accept certain cookies while on the site.
About Author
Archna Dhingra
Archna is a bright Groovy and Grails developer and has worked on development of various SaaS applications using Grails framework.